package cevent.source.cloudcenter.server.dto;

import com.fasterxml.jackson.annotation.JsonFormat;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;


/**
 * @author cevent
 * @description 产品表 模块传输层
 */
public class ProductDto {

    //唯一ID
    private String uniId;
    //关联|模块ID
    private String moduleId;
    //产品标题
    private String name;
    //seo标题
    private String seoTitle;
    //seo关键字
    private List<String> seoKeyword;
    //seo描述
    private String seoDescription;
    //产品图片列表
    private List<String> picList;
    //产品视频
    private String productVideo;
    //VOD|阿里云视频阿里m3u8
    private String productVod;
    //视频封面
    private String videoCover;
    //视频标题
    private String videoTitle;
    //视频介绍
    private String videoDesc;
    //时长|单位秒
    private Integer videoTime;
    //是否收费||C收费|F免费
    private String videoCharge;
    //视频分类||P公共资源|I私有资源|D公司宣传片|A公司活动视频|C公司产品视频|T平台使用教程视频
    private String videoType;
    //关联|用户ID
    private String videoUserId;
    //产品类型
    private Integer typeId;
    //产品路径
    private String path;
    //显示1 || 不显示0
    private Integer isShow;
    //产品内容|富文本
    private String productContent;
    //点击量
    private Integer clickNum;
    //排序
    private Integer sort;
    //创建时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;
    //修改时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;
    //int创建时间
    private Integer iCreateTime;
    //int修改时间
    private Integer iUpdateTime;
    //价格
    private BigDecimal price;
    //会员价格
    private BigDecimal memberPrice;
    //首页展示（OFF/ON）
    private String indexShow;
    //产品权限描述(title:标题desc:描述tag:标签4字)
    private List<ProductPrivilegeDescDto> productPrivilegeDescDtos;
    //级别|ONE("1","初级"),TWO("2","中级"),THREE("3","高级")
    private String level;
    //状态|PUBLISH("P","发布"),DRAFT("D","草稿")
    private String status;
    //预购
    private Integer enrollBuy;

    public String getUniId() {
        return uniId;
    }

    public void setUniId(String uniId) {
        this.uniId = uniId;
    }

    public String getModuleId() {
        return moduleId;
    }

    public void setModuleId(String moduleId) {
        this.moduleId = moduleId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSeoTitle() {
        return seoTitle;
    }

    public void setSeoTitle(String seoTitle) {
        this.seoTitle = seoTitle;
    }

    public List<String> getSeoKeyword() {
        return seoKeyword;
    }

    public void setSeoKeyword(List<String> seoKeyword) {
        this.seoKeyword = seoKeyword;
    }

    public String getSeoDescription() {
        return seoDescription;
    }

    public void setSeoDescription(String seoDescription) {
        this.seoDescription = seoDescription;
    }

    public List<String> getPicList() {
        return picList;
    }

    public void setPicList(List<String> picList) {
        this.picList = picList;
    }

    public String getProductVideo() {
        return productVideo;
    }

    public void setProductVideo(String productVideo) {
        this.productVideo = productVideo;
    }

    public String getProductVod() {
        return productVod;
    }

    public void setProductVod(String productVod) {
        this.productVod = productVod;
    }

    public String getVideoCover() {
        return videoCover;
    }

    public void setVideoCover(String videoCover) {
        this.videoCover = videoCover;
    }

    public String getVideoTitle() {
        return videoTitle;
    }

    public void setVideoTitle(String videoTitle) {
        this.videoTitle = videoTitle;
    }

    public String getVideoDesc() {
        return videoDesc;
    }

    public void setVideoDesc(String videoDesc) {
        this.videoDesc = videoDesc;
    }

    public Integer getVideoTime() {
        return videoTime;
    }

    public void setVideoTime(Integer videoTime) {
        this.videoTime = videoTime;
    }

    public String getVideoCharge() {
        return videoCharge;
    }

    public void setVideoCharge(String videoCharge) {
        this.videoCharge = videoCharge;
    }

    public String getVideoType() {
        return videoType;
    }

    public void setVideoType(String videoType) {
        this.videoType = videoType;
    }

    public String getVideoUserId() {
        return videoUserId;
    }

    public void setVideoUserId(String videoUserId) {
        this.videoUserId = videoUserId;
    }

    public Integer getTypeId() {
        return typeId;
    }

    public void setTypeId(Integer typeId) {
        this.typeId = typeId;
    }

    public String getPath() {
        return path;
    }

    public void setPath(String path) {
        this.path = path;
    }

    public Integer getIsShow() {
        return isShow;
    }

    public void setIsShow(Integer isShow) {
        this.isShow = isShow;
    }

    public String getProductContent() {
        return productContent;
    }

    public void setProductContent(String productContent) {
        this.productContent = productContent;
    }

    public Integer getClickNum() {
        return clickNum;
    }

    public void setClickNum(Integer clickNum) {
        this.clickNum = clickNum;
    }

    public Integer getSort() {
        return sort;
    }

    public void setSort(Integer sort) {
        this.sort = sort;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public Integer getICreateTime() {
        return iCreateTime;
    }

    public void setICreateTime(Integer iCreateTime) {
        this.iCreateTime = iCreateTime;
    }

    public Integer getIUpdateTime() {
        return iUpdateTime;
    }

    public void setIUpdateTime(Integer iUpdateTime) {
        this.iUpdateTime = iUpdateTime;
    }

    public BigDecimal getPrice() {
        return price;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    public BigDecimal getMemberPrice() {
        return memberPrice;
    }

    public void setMemberPrice(BigDecimal memberPrice) {
        this.memberPrice = memberPrice;
    }

    public String getIndexShow() {
        return indexShow;
    }

    public void setIndexShow(String indexShow) {
        this.indexShow = indexShow;
    }

    public List<ProductPrivilegeDescDto> getProductPrivilegeDescDtos() {
        return productPrivilegeDescDtos;
    }

    public void setProductPrivilegeDescDtos(List<ProductPrivilegeDescDto> productPrivilegeDescDtos) {
        this.productPrivilegeDescDtos = productPrivilegeDescDtos;
    }

    public String getLevel() {
        return level;
    }

    public void setLevel(String level) {
        this.level = level;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public Integer getEnrollBuy() {
        return enrollBuy;
    }

    public void setEnrollBuy(Integer enrollBuy) {
        this.enrollBuy = enrollBuy;
    }

    @Override
    public String toString() {
        final StringBuffer sb = new StringBuffer("ProductDto{");
        sb.append("uniId='").append(uniId).append('\'');
        sb.append(", moduleId='").append(moduleId).append('\'');
        sb.append(", name='").append(name).append('\'');
        sb.append(", seoTitle='").append(seoTitle).append('\'');
        sb.append(", seoKeyword=").append(seoKeyword);
        sb.append(", seoDescription='").append(seoDescription).append('\'');
        sb.append(", picList=").append(picList);
        sb.append(", productVideo='").append(productVideo).append('\'');
        sb.append(", productVod='").append(productVod).append('\'');
        sb.append(", videoCover='").append(videoCover).append('\'');
        sb.append(", videoTitle='").append(videoTitle).append('\'');
        sb.append(", videoDesc='").append(videoDesc).append('\'');
        sb.append(", videoTime=").append(videoTime);
        sb.append(", videoCharge='").append(videoCharge).append('\'');
        sb.append(", videoType='").append(videoType).append('\'');
        sb.append(", videoUserId='").append(videoUserId).append('\'');
        sb.append(", typeId=").append(typeId);
        sb.append(", path='").append(path).append('\'');
        sb.append(", isShow=").append(isShow);
        sb.append(", productContent='").append(productContent).append('\'');
        sb.append(", clickNum=").append(clickNum);
        sb.append(", sort=").append(sort);
        sb.append(", createTime=").append(createTime);
        sb.append(", updateTime=").append(updateTime);
        sb.append(", iCreateTime=").append(iCreateTime);
        sb.append(", iUpdateTime=").append(iUpdateTime);
        sb.append(", price=").append(price);
        sb.append(", memberPrice=").append(memberPrice);
        sb.append(", indexShow='").append(indexShow).append('\'');
        sb.append(", productPrivilegeDescDtos=").append(productPrivilegeDescDtos);
        sb.append(", level='").append(level).append('\'');
        sb.append(", status='").append(status).append('\'');
        sb.append(", enrollBuy=").append(enrollBuy);
        sb.append('}');
        return sb.toString();
    }
}
